home *** CD-ROM | disk | FTP | other *** search
/ Cracking 2 / Cracking II..iso / Texty / crackme / Tornado.java < prev    next >
Encoding:
Java Source  |  1999-02-11  |  5.4 KB  |  154 lines

  1. import java.awt.*;
  2. import java.applet.*;
  3. import java.util.*;
  4.  
  5. public class Tornado extends Applet
  6. {
  7.     private char[] array1 = {'f','Q','O','b','V','w','N','O','a','n','k','J','5','s','k','q','J','v','a','e','3','A','e','5','j','d','o','E','T','u'};
  8.     private char[] array2 = {'E','t','n','5','P','n','c','5','A','X','i','1','D','F','l','k','Y','q','n','u','j','s','X','N','m','v','H','d','b','c'};
  9.     private char[] array3 = {'9','8','0','3','D','2','F','7','4','0','4','E'};
  10.     private char[] array4 = {'F','3','A','4','B','F','3','B','0','5','0','3','F','B','8','B','C','B','4','F','4','9','8','0','3','D','2','F','7','4','0','4','E'};
  11.     
  12.     public void init()
  13.     {
  14.         //{{INIT_CONTROLS
  15.         setLayout(null);
  16.         setBackground(new java.awt.Color(0,128,128));
  17.         setSize(270,215);
  18.         calculateButton.setLabel("Calculate");
  19.         add(calculateButton);
  20.         calculateButton.setBackground(java.awt.Color.lightGray);
  21.         calculateButton.setFont(new Font("Dialog", Font.BOLD, 12));
  22.         calculateButton.setBounds(180,20,80,30);
  23.         nameText.setText("Rhytm");
  24.         add(nameText);
  25.         nameText.setBackground(java.awt.Color.white);
  26.         nameText.setFont(new Font("Dialog", Font.BOLD, 12));
  27.         nameText.setBounds(20,20,150,20);
  28.         companyText.setText("Dread");
  29.         add(companyText);
  30.         companyText.setBackground(java.awt.Color.white);
  31.         companyText.setFont(new Font("Dialog", Font.BOLD, 12));
  32.         companyText.setBounds(20,50,150,20);
  33.         add(codeText);
  34.         codeText.setBackground(java.awt.Color.white);
  35.         codeText.setFont(new Font("Dialog", Font.BOLD, 12));
  36.         codeText.setBounds(20,110,150,20);
  37.         infoLabel.setText("Keygen for Immortal Descendant Crackme 2.0");
  38.         add(infoLabel);
  39.         infoLabel.setFont(new Font("Dialog", Font.BOLD, 10));
  40.         infoLabel.setBounds(20,140,230,20);
  41.         info2Label.setText("(T@rnado). Reversed by Rhytm [Dread].");
  42.         add(info2Label);
  43.         info2Label.setFont(new Font("Dialog", Font.BOLD, 10));
  44.         info2Label.setBounds(20,160,230,20);
  45.         dateLabel.setText("Tuesday, February 09, 1999");
  46.         add(dateLabel);
  47.         dateLabel.setFont(new Font("Dialog", Font.PLAIN, 9));
  48.         dateLabel.setBounds(150,190,120,20);
  49.         label1.setText("Day:");
  50.         add(label1);
  51.         label1.setFont(new Font("Dialog", Font.BOLD, 12));
  52.         label1.setBounds(20,80,30,20);
  53.         label2.setText("Month:");
  54.         add(label2);
  55.         label2.setFont(new Font("Dialog", Font.BOLD, 12));
  56.         label2.setBounds(110,80,40,20);
  57.         add(dayField);
  58.         dayField.setFont(new Font("Dialog", Font.BOLD, 12));
  59.         dayField.setBounds(50,80,50,20);
  60.         add(monthField);
  61.         monthField.setFont(new Font("Dialog", Font.BOLD, 12));
  62.         monthField.setBounds(150,80,50,20);
  63.         //}}
  64.     
  65.         //{{REGISTER_LISTENERS
  66.         SymAction lSymAction = new SymAction();
  67.         calculateButton.addActionListener(lSymAction);
  68.         //}}
  69.     }
  70.     
  71.     //{{DECLARE_CONTROLS
  72.     java.awt.Button calculateButton = new java.awt.Button();
  73.     java.awt.TextField nameText = new java.awt.TextField();
  74.     java.awt.TextField companyText = new java.awt.TextField();
  75.     java.awt.TextField codeText = new java.awt.TextField();
  76.     java.awt.Label infoLabel = new java.awt.Label();
  77.     java.awt.Label info2Label = new java.awt.Label();
  78.     java.awt.Label dateLabel = new java.awt.Label();
  79.     java.awt.Label label1 = new java.awt.Label();
  80.     java.awt.Label label2 = new java.awt.Label();
  81.     java.awt.TextField dayField = new java.awt.TextField();
  82.     java.awt.TextField monthField = new java.awt.TextField();
  83.     //}}
  84.  
  85.     class SymAction implements java.awt.event.ActionListener
  86.     {
  87.         public void actionPerformed(java.awt.event.ActionEvent event)
  88.         {
  89.             Object object = event.getSource();
  90.             if (object == calculateButton)
  91.                 calculateButton_ActionPerformed(event);
  92.         }
  93.     }
  94.  
  95.     void calculateButton_ActionPerformed(java.awt.event.ActionEvent event)
  96.     {
  97.         String name = nameText.getText();
  98.         if (name.length() > 30)
  99.             name = name.substring(0,30);
  100.         int encname = encryptName(name);
  101.         String company = companyText.getText();
  102.         if (company.length() > 30)
  103.             company = company.substring(0,30);
  104.         int enccompany = encryptCompany(company);
  105.         int enctotal = encname + enccompany + dateCheck();
  106.         codeText.setText(String.valueOf(enctotal));
  107.     }
  108.     
  109.     private int dateCheck()
  110.     {
  111.         int month = Integer.parseInt(monthField.getText());
  112.         int day = Integer.parseInt(dayField.getText());
  113.         int encmonth = new Character(array3[month - 1]).charValue();
  114.         int encday = new Character(array4[day - 1]).charValue();
  115.         return encmonth * encday;
  116.     }
  117.     
  118.     private int encryptName(String name)
  119.     {
  120.         int edx = 1;
  121.         int ebx = 0;
  122.         for(int x = 0; x < name.length() - 1; x++)
  123.         {
  124.             int first = new Character(name.charAt(x)).charValue();
  125.             int second = new Character(array1[x]).charValue();
  126.             int third = new Character(array2[x]).charValue();
  127.             first *= second;
  128.             first *= third;
  129.             first *= edx;
  130.             edx += 1;
  131.             ebx += first;
  132.         } 
  133.         return ebx;
  134.     }
  135.     
  136.     private int encryptCompany(String company)
  137.     {
  138.         int edx = 1;
  139.         int edi = 0;
  140.         for(int x = 0; x < company.length() - 1; x++)
  141.         {
  142.             int first = new Character(company.charAt(x)).charValue();
  143.             int second = new Character(array1[x]).charValue();
  144.             int third = new Character(array2[x]).charValue();
  145.             first *= second;
  146.             first *= third;
  147.             first *= edx;
  148.             edx += 1;
  149.             edi += first;
  150.         } 
  151.         return edi;  
  152.     }
  153. }
  154.